Operating systems can execute multiple applications simultaneously each using virtualized address space called virtual memory. With the use of virtual memory, physical memory is divided into chunks which are managed by the operating system.
In order to track the virtual memory locations and physical memory locations, operating systems use a page table to record the temporary assignments of virtual addresses to real addresses. When a processor generates a virtual address to which an executing process requires access, the page table is used to translate the virtual address to the real address.
In a virtual memory environment, as the amount of physical memory in a computer grows, the number of page-table entries that map the virtual to physical addresses also increases. The page-table entries, however, may not be evenly distributed throughout the table. As such, mapping and translation become inefficient and increase execution time of processes.